--设置定时器
time = os.time();

--初始化
init("0",0);
mSleep(3000);

--来电暂停
luaExitIfCall(true);

--初始化日志
initLog("自动脚本1", 0)

--点击函数
function click(n,x,y)
	mSleep(500);
	touchDown(n,x,y);  
	mSleep(50);
	touchUp(n,x,y);
	mSleep(500);
end

function timeOut()
	--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
		if os.time()-time>240 then
			lua_restart();
		end
end

--清理后台
function cleanAll()
	
	--新方法
	closeApp("*",1);
	wLog("自动脚本1", "[DATE] 清理后台");
	
end

function movettoo(n,x,y,a,b)
	-- body
	touchDown(n, x, y); --在坐标 (150, 550)按下
	mSleep(80);
	touchMove(n, a, b); --移动到坐标 (150, 600)，注意一次滑动的坐标间隔不要太大，不宜超过50像素
	mSleep(80);
	touchUp(n, a, b);   --在坐标 (150, 600) 抬起
end


--点击home键
function home()
	mSleep(500);
	--按下home键退出
	pressHomeKey(0);    --按下 Home 键
	mSleep(50);
	pressHomeKey(1);    --抬起 Home 键
	mSleep(500);
end


--颜色模糊判断
function isColor(x,y,c,s)   --封装函数，函数名 isColor
    local fl,abs = math.floor,math.abs
    s = fl(0xff*(100-s)*0.01)
    local r,g,b = fl(c/0x10000),fl(c%0x10000/0x100),fl(c%0x100)
    local rr,gg,bb = getColorRGB(x,y)
    if abs(r-rr)<s and abs(g-gg)<s and abs(b-bb)<s then
        return true
    end
end

function newPhone()
	--初始化
	init("0",0);
	mSleep(1000);
	
	--进入NZT进行手机一键新机，重复打开4遍，防止闪退，闪退率高
	r = runApp("NZT"); 
	mSleep(2000)
	r = runApp("NZT");
	mSleep(2000)
	r = runApp("NZT");
	mSleep(2000)
	r = runApp("NZT"); 
	mSleep(2000);
	if r ~= 0 then
		lua_restart();
	end
	wLog("自动脚本1","[DATE] 进入NZT软件");
	
	--点一下返回按钮
	click(1,39,82);
	mSleep(2000);


	--点击清理keychain
	click(1,161,692);
	while (true) do
		wLog("自动脚本1","[DATE] 成功点击keychain按钮进入while判断");
		--如果出现错误，点击确定
		warningAll();
		if isColor(321,545,0x434343,90) then
			mSleep(2000);
		elseif isColor(321,545,0xffffff,90) then
			break;
		end
		
		--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
		timeOut();
	end
	
	mSleep(2000);
	
	--点击清理safari
	click(1,501,689);
	while (true) do
		wLog("自动脚本1","[DATE] 成功点击safari按钮进入while判断");
		--如果出现错误，点击确定
		warningAll();
		if isColor(321,545,0x434343,90) then
			mSleep(2000);
		elseif isColor(321,545,0xffffff,90) then
			break;
		end
		
		--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
		timeOut();
	end
	
	
	mSleep(2000);
	
	--点击一键新机
	click(1,489,822);
	while (true) do
		wLog("自动脚本1","[DATE] 成功点击一键新机按钮进入while判断");
		--如果出现错误，点击确定
		warningAll();
		if isColor(321,545,0x434343,90) then
			mSleep(2000);
		elseif isColor(321,545,0xffffff,90) then
			break;
		end
		
		--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
		timeOut();
	end
	
	mSleep(2000);
	home();
	
end



function getIDFA()
	
	--初始化
	init("0",0);
	mSleep(1000);
	
	--点击home键
	home();
	mSleep(1000);
	
	--打开设备信息软件
	r = runApp("com.tongbu.InfoJust");
	mSleep(2000);
	r = runApp("com.tongbu.InfoJust");
	mSleep(2000);
	
	--如果启动失败则从新开始脚本
	if r ~= 0 then
		lua_restart();
	end
	wLog("自动脚本1","[DATE] 进入AWZ软件");
	
	timeOut();
	
	--点击复制IDFA
	click(1,317,797);
	mSleep(2000);
	
	--复制成功点击确定
	click(1,322,654);
	mSleep(1000);
	
	--点击home键退出
	home();
	
end

function playGame()
	
	--初始化
	init("0",0);
	mSleep(1000);
	
	openURL("http://lunchwreck.men/base.php?c=223&key=06d5e08f9000e2a6b5fd59a231a443f3");
	
	mSleep(3000);
	wLog("自动脚本1","[DATE] 成功点击safari并输入网址开始");
	
	
	--开始循环判断是否弹出打开app商城的按钮
	while (true) do
		warningAll();
		if isColor(463,650,0x007aff,90) then
			mSleep(500);
			click(1,463,650);
			mSleep(1000);
			break;
		end
		wLog("自动脚本1","[DATE] 进入while循环判断打开app商城按钮是否出现");
		
		timeOut();
		warningAll();
		
		--循环判断是否出现proxy error
		if isColor(21,154,0x565656,90) then
			mSleep(500);
			click(1,590,76);
			mSleep(8000);
		end
		--循环判断continue
		if isColor(17,161,0x6a6af5,90) then
			mSleep(500);
			click(1,153,164);
			mSleep(8000);  
		end
		--判断是否需要刷新页面
		if isColor(579,   78, 0x000000,90) then
			mSleep(500);
			click(1,579,   78);
			mSleep(8000);  
		end
	end
	
	mSleep(2000);
	
	
	--开始循环判断是否成功打开app商城并点击进入软件
	while (true) do
		wLog("自动脚本1","[DATE] 这是判断进入软件按钮出现的循环");
		warningAll();
		
	--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
		timeOut();
		
		vvv = isColor(549,364,0xffffff,90);   
		if vvv~=true then  
			wLog("自动脚本1","[DATE] 现在点击进入软件");
			--随机一个数
			Randomx = math.random(25,45);
			dialog(Randomx, 3);
			mSleep(Randomx*1000);
			click(1,549,364);
			break;
		end
		mSleep(2000);
		
	end

	--dialog("进入游戏了", 3)
	mSleep(5000);
	--随机一个数
	Randomx = math.random(15,35);
	dialog(Randomx, 3);
	oldTime = 1;
	while (true) do
		
		--跳过引导
		if isColor(294,  920, 0x22aaec,90) then
			mSleep(500);
			click(1,294,  920);
			mSleep(1000);
		end
		
		--跳过开机引导2
		if isColor(321, 1007, 0x16a92a,90) then
			mSleep(500);
			click(1,321, 1007);
			mSleep(1000);
		end
		
		--横行滑动
		movettoo(1,499,795,124,784);
		mSleep(2000);
		
		oldTime = oldTime+1;
		movettoo(1,312,745,312,400);
		mSleep(5000);
		
		--超过3分钟自动重新开始
		timeOut();
		
		warningAll();
		if (Randomx%oldTime)==0 then
			click(1,292,695);
		end
		mSleep(1000);
		if oldTime==Randomx then
			break;
		end
		mSleep(1000)
		if (Randomx%oldTime)==1 then
			movettoo(1,312,400,312,700);
		end
	end
 	
	dialog("Game Over", 5);

end


function warningAll()
	if isColor(327,671,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告四判断")
			mSleep(2000);
			click(1,327,671);
			mSleep(2000);
			click(1,580,690);
	elseif isColor(340,664,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告五判断")
			mSleep(2000);
			click(1,340,664);
			mSleep(2000);
	elseif isColor(330,  650, 0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告五判断")
			mSleep(2000);
			click(1,330,  650);
			mSleep(2000);
	end
end

--清理后台
function cleanAll()
	
	--新方法
	closeApp("*",1);
	wLog("自动脚本1", "[DATE] 清理后台");
	
end

--换IP
function changeIP()
	i = 0;
	while (true) do
		--切换ip
		openURL("http://lumtest.com/myip.json?switchproxy");
		mSleep(5000);
		i = i + 1;
		if i>3 then
			break;
		end
	end
end


function main()
	home();
	mSleep(1000);
	
	--关闭vpn
	setVPNEnable(false);
	mSleep(2000);
	
	cleanAll();
	mSleep(1000);
	
	--第二步初始化手机
	newPhone();
	mSleep(3000);
	
	--打开vpn
	setVPNEnable(true);
	mSleep(5000);

	--换IP
	changeIP();
	
	--开始任务
	playGame();
end


main();
